package com.zb.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zb.entity.SelectVo;
import com.zb.entity.ZjProductBoom;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 产品boom表 Mapper 接口
 * </p>
 *
 * @author WEN
 * @since 2023-08-22
 */
@Repository
public interface ZjProductBoomMapper extends BaseMapper<ZjProductBoom> {

    /**
     * 查询商品规格的Boom是否重复
     * @param id 产品Boom ID
     * @param productId 产品ID
     * @param productSpecId 产品规格ID
     * @return
     */
    Integer existByGoodsSpecId(@Param("id") Long id, @Param("productId") Long productId, @Param("productSpecId") Long productSpecId);

    /**
     * 根据产品ID获取
     * @param productId 产品ID
     * @return
     */
    List<ZjProductBoom> getByProductId(@Param("productId") Long productId);

    /**
     * 根据工单ID获取商品关联的boom清单的配件ID
     * @param workId 工单ID
     * @param selectVo 搜索条件
     * @return
     */
    List<Long> getSpareIdsPageSelect(@Param("workId") Long workId, @Param("selectVo") SelectVo selectVo);

    /**
     * 根据工单ID获取商品关联的boom清单的配件ID的总记录数
     * @param workId 工单ID
     * @param selectVo 搜索条件
     * @return
     */
    long getSpareIdsPageSelectCount(@Param("workId") Long workId, @Param("selectVo") SelectVo selectVo);

}
